package com.ccs.demo.mapper;

import com.ccs.demo.model.BookInfo;
import com.ccs.demo.model.PageRequest;
import com.ccs.demo.model.PageResult;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface BookMapper {
//    @Insert("insert into book_info(book_name, author, count, price,publish,'status') " +
//            "values (#{bookName},#{author},#{count},#{price},#{publish},#{status}) " )
//    Integer insertBook(BookInfo bookInfo);
    @Insert("insert into book_info (book_name, author, count, price, publish, `status`) " +
            " values (#{bookName}, #{author}, #{count}, #{price}, #{publish}, #{status})")
    Integer insertBook(BookInfo bookInfo);
    @Select("select count(1) from book_info where status!=0" )
    Integer count();

    @Select("select * from book_info where status!=0 order by id asc limit #{offset},#{pageSize}")
    List<BookInfo> queryListByLimit(PageRequest pageRequest);

    @Select("select * from book_info where id=#{id} and status!=0")
    List<BookInfo> queryBookById(Integer bookId);

    Integer updateBook(BookInfo bookInfo);

    @Delete("delete delete from book_info where id=#{id}")
    Integer DeleteBook(Integer bookId);

    Integer batchDeleteBook(List<Integer> ids);
}
